package com.javabasestage2.Object.ObjectSenior.Static;

public class StaticDetail {
    /**
     * 1、什么时候需要用类变量
     * 当我们需要让某一类的所有对象都共享一个变量时，就可以考虑使用类变量(静态变量):
     * 比如:定义学生类，统计所有学生共交多少钱。Student(name,static fee)
     *
     * 2、类变量与实例变量(普通属性) 区别
     * 类变量是【该类】的所有对象共享的，而实例变量时每个对象【独享的
     *
     * 3、加上static称为类变量或静态变量，否则称为【实例变量/普通变量/非静态变量】
     *
     * 4、类变量可以通过 类名.类变量名 或者 对象名.类变量名 来访问，但java设计者推荐我们
     * 使用 【类名.类变量名】 的方式访问 。 前提是 ： 满足访问修饰符的访问权限和范围
     */
    public static void main(String[] args) {
         AA aa = new AA();
        //System.out.println(AA.age); //错，不能用类.类变量来对实例变量【非静态变量】使用
        System.out.println(AA.age1); //对,static就算没创建对象也能通过 类.类变量 访问

        //非静态方法只能通过 【new 类.类方法 】匿名对象来调用
        //静态方法中 只能访问 静态变量或方法 【即静态方法 只能访问 静态成员】 //但普通方法既能访问普通成员，也能访问静态成员



    }
}

class AA{
    public int age = 11;
    public static  int age1 = 12;
}